The proliferation of computers and the maturing of the Internet and the World Wide Web (“web”) have resulted in the web increasingly becoming a medium used to deliver software, such as application programs and operating system programs, and updates to the software to consumers. Indeed, many software providers are delivering their software, including updates to the software, to their consumers over the web.
Software providers typically release different versions of software via versions of corresponding software packages. The software and any future updates to the software are provided via a web site, and the software typically includes “hard-coded” entry points (e.g., hard-coded URLs) which allow users of the software to connect to the web site in order to become aware of and receive updates to the software. For example, MICROSOFT provides a WINDOWS Update site that provides updates for a particular version or versions of the WINDOWS operating system software and WINDOWS-based hardware. Each version of the WINDOWS operating system provides an entry point, such as a WINDOWS Update shortcut in a “Start” menu, into its appropriate WINDOWS Update site. To receive updates, a user can access the site addressed by the entry point (e.g., clicking on the “WINDOWS Update” icon that is provided on the “Start” menu). This navigates the user to a site that is appropriate for the version of the software (e.g., operating system) that is currently installed on the user's computer system. When the user is at the site, the site scans the user's computer system and tells the user which updates apply to the user's software and hardware. The user can then choose the updates that the user wants to install and how to install them. At the appropriate time, the site (e.g., the server) informs an update agent executing on the user's computer system of the user's selected updates, and instructs the update agent to install the selected updates. The update agent then interacts with the site, and the web services to install the user selected updates. The update agent is typically provided with the software package and is installed and executed on the computer system along with the software.
Unfortunately, delivering software packages and updates to software packages in this manner is limited by the hard-coded entry points included in the software package. Once the hard-coded URL is specified in software, it cannot be easily changed. Thus, the software provider is limited or restricted to providing updates to a version of the software package through the site that is addressed by the hard-coded entry point in the software. Likewise, a specific version of the software is only able to receive updates through the site addressed by the hard-coded entry point in the software.